package com.lihepeng.leecode.solid_aim_offer.linkedlist;

import com.lihepeng.leecode.linkedList.ListNode;
import org.junit.Test;

import java.util.ArrayList;

/**
 * 剑指 offer
 * 输入一个链表的头节点，按链表从尾到头的顺序返回每个节点的值（用数组返回）。
 */
public class Solution06 {
    ArrayList<Integer> result = new ArrayList<>();
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        if (listNode ==null) {
            return result;
        }
        printListFromTailToHead(listNode.next);
        result.add(listNode.value);
        return result;
    }

    @Test
    public void runTest() {
        ListNode listNode = new ListNode(0);
        ListNode listNode1 = new ListNode(1);
        ListNode listNode2 = new ListNode(2);
        ListNode listNode3 = new ListNode(3);
        listNode.next = listNode1;
        listNode1.next = listNode2;
        listNode2.next = listNode3;
        ArrayList<Integer> integers = printListFromTailToHead(listNode);
        System.out.println(integers);


    }
}
